const figlet = require("figlet"); // 可以用来定制CLI执行时的头部
const program = require('commander');
const pkg = require('../package.json');
const colors = require('colors');
// 引入命令文件
const commandAll = require('./commands')

console.log(
    colors.yellow(
        figlet.textSync("LZQ  CLI".split('').join(' '), {
            horizontalLayout: "default",
            verticalLayout: "default",
            width: 100,
            whitespaceBreak: true,
        })
    )
);


program
    .name(pkg.name)
    .description(pkg.description)
    .version(pkg.version)
    .helpOption('-h', '--help')
    .usage(`<command> [option]`)

async function commandFun() {
    // 注册所有命令
    await commandAll(program)
    program.parse()
}

// 初始化
async function init() {
    try {
        await commandFun();
    } catch (error) {
        console.log(colors.red(error.message));
    }
}

init();
